package ai.people.netmon.telegram.mapper;

import ai.people.netmon.framework.domain.telegram.vo.account.BusinessLeadsAccount;
import ai.people.netmon.framework.model.request.PageKeyWordsRequest;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 账户映射器
 *
 * @author yuanqinglong
 * @date 2022/1/21 11:23
 */
@Mapper
public interface AccountMapper {


    /**
     * 通过用户名查询
     *
     * @param userId 用户id
     * @return {@link BusinessLeadsAccount}
     */
    BusinessLeadsAccount getAccountByUserId(Long userId);

    /**
     * 业务帐户列表
     *
     * @param pageKeyWordsRequest 页面关键字请求
     * @return {@link List}<{@link BusinessLeadsAccount}>
     */
    List<BusinessLeadsAccount> businessAccountList(PageKeyWordsRequest pageKeyWordsRequest);

    /**
     * 业务帐户数
     *
     * @param pageKeyWordsRequest 页面关键字请求
     * @return long
     */
    long businessAccountCount(PageKeyWordsRequest pageKeyWordsRequest);

    /**
     * 搜索账户
     *
     * @param offset         抵消
     * @param limit          限制
     * @param fields         字段
     * @param searchKeywords 搜索关键字
     * @return {@link List}<{@link BusinessLeadsAccount}>
     */
    List<BusinessLeadsAccount> searchAccountList(int offset, int limit, List<String> fields, String searchKeywords);


    /**
     * 搜索账户数
     *
     * @param fields         字段
     * @param searchKeywords 搜索关键字
     * @return long
     */
    long searchAccountCount(List<String> fields, String searchKeywords);




}
